//
//  TL_JumpManager.h
//  WXReader
//
//  Created by TSL on 2021/10/18.
//  Copyright © 2021 Andrew. All rights reserved.
//  处理所有的跳转情况(banner)

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/*------------- 服务端跳转映射 -------------*/
// 小说详情首页
#define Jump_bookDetail @"1"
// 漫画详情首页
#define Jump_comicDetail @"2"
// 内部浏览器
#define Jump_internalWebview @"3"
// 外部浏览器
#define Jump_externalWebview @"4"
// 小说标签首页
#define Jump_bookLabel @"5"
// 小说分类首页
#define Jump_bookCategory @"7"
// 小说推荐首页
#define Jump_bookRecommend @"8"
// 小说排行榜首页
#define Jump_bookRank @"9"
// 限免小说首页
#define Jump_bookFree @"10"
// 任务中心首页
#define Jump_taskCenter @"15"
// 充值中心首页
#define Jump_rechargeCenter @"16"
// 会员中心首页
#define Jump_memberCenter @"17"
// 反馈中心首页
#define Jump_feedbackCenter @"18"
// 设置中心首页
#define Jump_settingCenter @"19"
// 月卡中心首页
#define Jump_monthlyCardCenter @"20"
// 漫画分类首页
#define Jump_comicCategory @"21"
// 漫画推荐首页
#define Jump_comicRecommend @"22"
// 漫画排行榜首页
#define Jump_comicRank @"23"
// 打赏记录首页
#define Jump_rewardRecordCenter @"25"
// 历史记录首页
#define Jump_readRecordCenter @"26"
// 下载缓存首页
#define Jump_downloadCacheCenter @"27"
// 我的评论首页
#define Jump_myCommentCenter @"28"
// 联系客服首页
#define Jump_myCustomerServiceCenter @"29"
// 绑定邮箱首页
#define Jump_bindMailbox @"33"
// 注销账号首页
#define Jump_cancelAccountCenter @"36"
// 个人资料首页
#define Jump_accountInfoCenter @"37"
// 金币明细中心首页
#define Jump_coinListCenter @"45"

/*------------- 动作类型映射 -------------*/
// 邀请好友动作
#define Jump_inviteFriends @"24"
// 修改昵称动作
#define Jump_modifyNickname @"31"
// 修改性别动作
#define Jump_modifyGender @"32"
// 绑定谷歌账号动作
#define Jump_bindGoogle @"34"
// 绑定Facebook账号动作
#define Jump_bindFacebook @"35"
// 收藏书籍动作
#define Jump_collectionBook @"38"
// 阅读一本书动作
#define Jump_readBook @"39"
// 分享APP动作
#define Jump_shareAPP @"40"
// 评论一本书动作
#define Jump_reviewBook @"41"
// 领取月卡动作
#define Jump_getMonthlyCard @"42"
// 获取客服邮箱动作
#define Jump_getCustomerServiceEmail @"43"
// 获取客服电话动作
#define Jump_getCustomerPhone @"44"
//  跳转FB客服
#define Jump_FeckBookCustomer @"47"

@interface TL_JumpManager : NSObject

/// 统一服务端所有的动作事件。
/// @param skipType 跳转类型，详情请参考上述宏定义。
/// @param skipContent 跳转参数，例如跳转小说详情页时，skipContent就是book_id，如果动作类型不需要参数，skipContent 可能是 nil。
/// @param otherParameter 其他参数，例如跳转内部浏览器时所需要的title。
/// @param completion 动作事件的回调事件，包含成功或失败、跳转类型、回调参数；例如修改昵称，将会通过 completion 返回昵称字符串，
///                  completion 绝对会回调，您可以置为 nil 选择不处理它。
+ (void)jumpActionWithType:(NSString *)skipType
                   content:(NSString * _Nullable)skipContent
            otherParameter:(NSDictionary * _Nullable)otherParameter
                completion:(void (^ _Nullable) (BOOL isSuccess, NSString *skipType, id _Nullable object))completion;

@end

NS_ASSUME_NONNULL_END
